Non-monotonic Self-Adjusting Computation

نویسندگان

  • Ruy Ley-Wild
  • Umut A. Acar
  • Guy E. Blelloch
چکیده

Self-adjusting computation is a language-based approach to writing programs that respond dynamically to input changes by maintaining a trace of the computation consistent with the input, thus also updating the output. For monotonic programs, i.e. where localized input changes cause localized changes in the computation, the trace can be repaired efficiently by insertions and deletions. However, non-local input changes that are can cause major reordering of the trace. In such cases, updating the trace can be asymptotically equal to running from scratch. In this paper, we eliminate the monotonicity restriction by generalizing the update mechanism to use trace slices, which are partial fragments of the computation that can be reordered with some bookkeeping. We provide a high-level source language for pure programs, equipped with a notion of trace distance for comparing two runs of a program modulo reordering. The source language is translated into a low-level target language with intrinsic support for non-monotonic update (i.e., with reordering). We show that the translation asymptotically preserves the semantics and trace distance, that the cost of update coincides with trace distance, and that updating produces the same answer as a fromscratch run. We describe a concrete algorithm for implementing changepropagation with asymptotic bounds on running time. The concrete algorithm achieves running time bounds which are within O(logn) of the trace distance, where n is the trace length.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Asymptotic Analysis of Self-Adjusting Contraction Trees

In this report, we analyze the asymptotic efficiency of self-adjusting contraction trees proposed as part of the Slider project [2, 3]. Self-adjusting contraction trees are used for incremental computation [1, 4, 5, 8]. Our analysis extends the asymptotic efficiency analysis of Incoop [6, 7]. We consider two different runs: the initial run of an Slider computation, where we perform a computatio...

متن کامل

A Consistent Semantics of Self-adjusting Computation

This paper presents a semantics of self-adjusting computation and proves that the semantics are correct and consistent. The semantics integrate change propagation with the classic idea of memoization to enable reuse of computations under mutation to memory. During evaluation, reuse of a computation via memoization triggers a change propagation that adjusts the reused computation to reflect the ...

متن کامل

Non-Monotonic Program Analysis

Traditionally, program analysis is formulated as computation of fixpoints using monotonic iteration of lattice-theoretic functions. Monotonicity is important because it ensures convergence of the analysis towards a fixpoint. Still, the idea of non-monotonic iteration is intriguing because such an analysis can cut short the search, potentially convergingmuch faster than monotonic iteration. In t...

متن کامل

Algorithms for Optimal Self-simulation of Some Restricted Reconfigurable Meshes

There has recently been an interest in the introduction of reconngurable buses to existing parallel architectures. Among them the Reconngurable Mesh (RM) draws much attention because of its simplicity. However the wide acceptance of RM depends on its scalability through self-simulation. This paper presents a simple self-simulation algorithm which can self-simulate the monotonic RM model optimal...

متن کامل

Self-adjusting Computation with Delta ML

In self-adjusting computation, programs respond automatically and efficiently to modifications to their data by tracking the dynamic data dependences of the computation and incrementally updating the output as needed. In this tutorial, we describe the self-adjustingcomputation model and present the language ∆ML (Delta ML) for writing self-adjusting programs.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012